package com.msh.automatic.android.api.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * 设备表;
 * @author : http://www.chiner.pro
 * @date : 2025-6-10
 */
@Data
@TableName("device")
@ApiModel(value = "设备表",description = "")
public class Device implements Serializable,Cloneable{
    /** 主键 */
    @TableId
    @TableField(value = "`id`")
    @ApiModelProperty(name = "id",notes = "主键")
    private String id;

    /** 型号 */
    @TableField(value = "`model`")
    @ApiModelProperty(name = "model",notes = "型号")
    private String model;

    /** 品牌 */
    @TableField(value = "`brand`")
    @ApiModelProperty(name = "brand",notes = "品牌")
    private String brand;

    /** 设备 */
    @TableField(value = "`device`")
    @ApiModelProperty(name = "device",notes = "设备")
    private String device;

    /** 制造商 */
    @TableField(value = "`manufacturer`")
    @ApiModelProperty(name = "manufacturer",notes = "制造商")
    private String manufacturer;

    /** Android 版本 */
    @TableField(value = "`release`")
    @ApiModelProperty(name = "release",notes = "Android 版本")
    private String release;

    /** SDK 版本 */
    @TableField(value = "`sdk_int`")
    @ApiModelProperty(name = "sdkInt",notes = "SDK 版本")
    private String sdkInt;

    /** token */
    @TableField(value = "`token`")
    @ApiModelProperty(name = "token",notes = "token")
    private String token;

    /** 激活码 */
    @TableField(value = "`activation_code`")
    @ApiModelProperty(name = "activationCode",notes = "激活码")
    private String activationCode;

    /** 激活时间 */
    @TableField(value = "`activation_time`")
    @ApiModelProperty(name = "activationTime",notes = "激活时间")
    private Date activationTime;

    /** 过期时间 */
    @TableField(value = "`expiration_time`")
    @ApiModelProperty(name = "expirationTime",notes = "过期时间")
    private Date expirationTime;

    /** 内网ip */
    @TableField(value = "`vpn_ip`")
    @ApiModelProperty(name = "vpnIp",notes = "内网ip")
    private String vpnIp;

    /** 调试端口 */
    @TableField(value = "`debug_port`")
    @ApiModelProperty(name = "debugPort",notes = "调试端口")
    private Integer debugPort;

    /** 根据所有状态判断是否可用 */
    @TableField(value = "`activation`")
    @ApiModelProperty(name = "activation",notes = "根据所有状态判断是否可用")
    private Boolean activation;

    /** 心跳时间 */
    @TableField(value = "`heartbeat`")
    @ApiModelProperty(name = "heartbeat",notes = "心跳时间")
    private Date heartbeat;

    /** 是否在线 */
    @TableField(value = "`online`")
    @ApiModelProperty(name = "online",notes = "是否在线")
    private Boolean online;

    /** 无障碍是否可用 */
    @TableField(value = "`accessibility`")
    @ApiModelProperty(name = "accessibility",notes = "无障碍是否可用")
    private Boolean accessibility;

    /** 是否加入电源白名单 */
    @TableField(value = "`power`")
    @ApiModelProperty(name = "power",notes = "是否加入电源白名单")
    private Boolean power;

    /** 是否授权文件管理 */
    @TableField(value = "`file_manager`")
    @ApiModelProperty(name = "fileManager",notes = "是否授权文件管理")
    private Boolean fileManager;

    /** 是否授权安装apk */
    @TableField(value = "`install_apk`")
    @ApiModelProperty(name = "installApk",notes = "是否授权安装apk")
    private Boolean installApk;

    /** 控制app版本 */
    @TableField(value = "`control_app_version`")
    @ApiModelProperty(name = "controlAppVersion",notes = "控制app版本")
    private Integer controlAppVersion;

    /** 当前正在执行的任务 */
    @TableField(value = "`current_task_log_id`")
    @ApiModelProperty(name = "currentTaskLogId",notes = "当前正在执行的任务")
    private String currentTaskLogId;

    /** 消息 */
    @TableField(value = "`message`")
    @ApiModelProperty(name = "message",notes = "消息")
    private String message;

    /** 乐观锁 */
    @com.baomidou.mybatisplus.annotation.Version
    @ApiModelProperty(name = "revision",notes = "乐观锁")
    private Integer revision;

    /** 创建人 */
    @TableField(value = "`created_by`",fill = FieldFill.INSERT)
    @ApiModelProperty(name = "createdBy",notes = "创建人")
    private String createdBy;

    /** 创建时间 */
    @TableField(value = "`created_time`",fill = FieldFill.INSERT)
    @ApiModelProperty(name = "createdTime",notes = "创建时间")
    private Date createdTime;

    /** 更新人 */
    @TableField(value = "`updated_by`",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(name = "updatedBy",notes = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @TableField(value = "`updated_time`",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(name = "updatedTime",notes = "更新时间")
    private Date updatedTime;

    /** 数据权限 */
    @TableField(value = "`data_permissions`")
    @ApiModelProperty(name = "dataPermissions",notes = "数据权限")
    private String dataPermissions;

    /** 数据版本 */
    @TableField(value = "`data_version`")
    @ApiModelProperty(name = "dataVersion",notes = "数据版本")
    private Integer dataVersion;



}